package com.bestcem.xm.user.controller;

import com.bestcem.xm.common.core.domain.web.ServiceResult;
import com.bestcem.xm.common.core.domain.web.XmResultJson;
import com.bestcem.xm.component.security.annotation.AuthIgnore;
import com.bestcem.xm.user.controller.vo.user.UserScenarioVO;
import com.bestcem.xm.user.entity.mysql.UserScenario;
import com.bestcem.xm.user.service.UserScenarioService;
import com.bestcem.xm.user.util.converter.UserScenarioConverter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * 用户使用场景controller
 *
 * @author YiFang <yifang.zhang@idiaoyan.com>
 * @version v1.0
 * @date 2022/7/14 13:04
 */
@RestController
@Slf4j
@RequestMapping(value = "/user")
public class UserScenarioController {

    @Resource
    UserScenarioService userScenarioService;

    /**
     * 使用场景查询
     *
     * @return
     */
    @AuthIgnore
    @GetMapping("/scenarios/")
    public XmResultJson<List<UserScenarioVO>> listScenarios() {
        ServiceResult<List<UserScenario>> result = userScenarioService.listScenarios();
        if (result.isSuccess()) {
            List<UserScenario> data = result.getData();
            return XmResultJson.success(UserScenarioConverter.entityListToVOList(data));
        } else {
            return XmResultJson.fail(result.getErrorData(), result.getMsg());
        }
    }

}
